/*

给定 N 个闭区间 [ai,bi]，请你在数轴上选择若干区间，使得选中的区间之间互不相交（包括端点）。
输出可选取区间的最大数量。

输入格式
第一行包含整数 N，表示区间数。

接下来 N 行，每行包含两个整数 ai,bi，表示一个区间的两个端点。

输出格式
输出一个整数，表示可选取区间的最大数量。

数据范围
1≤N≤105,
−109≤ai≤bi≤109
输入样例：
3
-1 1
2 4
3 5
输出样例：
2
*/
#include <iostream>
#include <algorithm>

using namespace std;
const int N = 1e6 + 10;
typedef pair<int, int> PII;
PII range[N];
int n;
bool my_sort(PII a, PII b)
{
    return a.second < b.second;
}

int main()
{
    cin >> n;
    for (int i = 0; i < n; i++)
        cin >> range[i].first >> range[i].second;
    sort(range, range + n, my_sort);
    int res = 0, edg = -2e9;
    for (int i = 0; i < n; i++)
    {
        if (range[i].first > edg)
        {
            res++;
            edg = range[i].second;
        }
    }
    cout << res << endl;
    return 0;
}
